package io.renren.modules.security.service.impl;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.renren.common.service.impl.BaseServiceImpl;
import io.renren.modules.security.dao.ImageGenerateParamDao;
import io.renren.modules.security.dto.SelectImageGenerateParamDto;
import io.renren.modules.security.dto.UpdateImageGenerateParamDto;
import io.renren.modules.security.entity.ImageGenerateParam;
import io.renren.modules.security.enums.ImageGenerateParamEnum;
import io.renren.modules.security.service.ImageGenerateParamService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.List;

@Slf4j
@Service
public class ImageGenerateParamServiceImpl extends BaseServiceImpl<ImageGenerateParamDao, ImageGenerateParam> implements ImageGenerateParamService {

    public List<ImageGenerateParam> selectList(SelectImageGenerateParamDto dto){
        LambdaQueryWrapper<ImageGenerateParam> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(ImageGenerateParam::getDelFlag, "0");
        queryWrapper.eq(StrUtil.isAllNotBlank(dto.getParamName()), ImageGenerateParam::getParamName, dto.getParamName());
        if (null != dto.getType() && StrUtil.isNotBlank(ImageGenerateParamEnum.getNameByType(dto.getType()))) {
            queryWrapper.eq(ImageGenerateParam::getType, ImageGenerateParamEnum.getNameByType(dto.getType()));
        }
        return this.baseDao.selectList(queryWrapper);
    }

    public Boolean updateImageParam(UpdateImageGenerateParamDto dto){
        ImageGenerateParam param = this.baseDao.selectById(dto.getId());
        param.setParamValue(dto.getParamValue());
        return this.baseDao.updateById(param) > 0;
    }
}
